import {request} from "../../resquest/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
  data: {
    //左侧菜单
    leftMenuList: [],
    // 右侧内容
    rightContentList: [],
    // 被点击的左侧的菜单
    currentIndex: 0,
    // 右侧内容滚动条距离顶部的距离
    scrollTop:0
  },
  cates: [],
  onLoad: function (options) {
    // 1.先判断本地有没有旧的数据
    // 2.没有旧的数据直接请求
    // 3.有旧的数据，并且没有过期，就使用本地数据

    // 1.获取本地存储的数据 (微信小程序也有本地存储)
    const cates = wx.getStorageSync('cates');
    // 2.判断
    if (!cates) {
      this.getCates();
    } else {
      // 有旧的数据 暂时定义10s 正式5分钟
      if (Date.now() - cates.time > 1000 * 300) {
        this.getCates()
      } else {
        // 可以使用旧的数据
        // console.log('可以使用旧的数据');
        this.cates = cates.data;
        let leftMenuList = this.cates.map(v => v.cat_name);
        let rightContentList = this.cates[0].children;
        this.setData({
          leftMenuList,
          rightContentList
        });
      }
    }

  },
  async getCates() {
    // request({
    //     url: "/categories"
    //   })
    //   .then(res => {
    //     this.cates = res.data.message;
    //     // 加入本地缓存
    //     wx.setStorageSync("cates", {
    //       time: Date.now(),
    //       data: this.cates
    //     })
    //     // console.log(res);
    //     let leftMenuList = this.cates.map(v => v.cat_name);
    //     let rightContentList = this.cates[0].children;
    //     this.setData({
    //       leftMenuList,
    //       rightContentList
    //     });
    //     // console.log(leftMenuList);

    //   })
    // 使用async,await
    const res =await request({ url: "/categories"})
    if(res.data.meta.status !== 200){
      return console.log('获取分类列表失败');
    }else{
      this.cates = res.data.message;
        // 加入本地缓存
        wx.setStorageSync("cates", {
          time: Date.now(),
          data: this.cates
        })
        // console.log(res);
        let leftMenuList = this.cates.map(v => v.cat_name);
        let rightContentList = this.cates[0].children;
        this.setData({
          leftMenuList,
          rightContentList
        });
    }
  },
  // 左侧菜单的点击事件
  handleItemTap(e) {
    // console.log(e);
    // 1.获取被点击事件的标题上的索引
    // 2.赋值
    // 3.根据索引渲染右侧内容
    // 4.让右侧滚动条置顶
    const index = e.currentTarget.dataset.index
    // console.log(index);
    let rightContentList = this.cates[index].children;
    this.setData({
      currentIndex: index,
      rightContentList,
      scrollTop:0
    })

  }
})